<?php

namespace app\api\controller\minishop;

use app\common\controller\Api;
use Think\Db;

/**
 * 首页接口
 */
class Categories extends Api
{
    // 无需登录的接口,*表示全部
    protected $noNeedLogin = ['*'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['*'];
    
    /**
     * 获取分类及子分类列表接口
     */
    public function getCategories()
    {
        // 获取父级分类
        $categories = Db::name('minishop_categories')->where('parent_id',0)->select();  // 假设 categories 表存储父级分类

        // 初始化存放最终结果的数组
        $formattedCategories = [];

        // 遍历每个父级分类
        foreach ($categories as $category) {
            // 根据 parent_id 查找对应的子分类
            $subItems = Db::name('minishop_categories')->where('parent_id', $category['id'])->column('category_name');

            // 组装每个父级分类和它的子项
            $formattedCategories[] = [
                'name' => $category['category_name'],
                'subItems' => $subItems,  // 子分类
                'type' => $category['type']
            ];
        }

        // 返回JSON格式的数据给前端
        return json(['code' => 1, 'msg' => 'success', 'data' => $formattedCategories]);
    }

}